{
语法百题 解题报告：
 http://git.oschina.net/et0662/sznoi-grammar/ 
}
var
	a:array[0..100,0..100] of integer;
	n,i,j,hang,lie,x,y:integer;
begin
	hang:=0;
	lie:=0;
	read(n);
	for i:=1 to n do
	begin
		a[0,i]:=0;
		a[i,0]:=0;
	end;
	for i:=1 to n do
	begin
		for j:=1 to n do
		begin
			read(a[i,j]);
			a[i,0]:=a[i,0]+a[i,j];
			a[0,j]:=a[0,j]+a[i,j];
		end;
		if (a[i][0] mod 2)=1 then
			inc(hang);
	end;
	for i:=1 to n do
		if (a[0][i] mod 2) =1 then
			inc(lie);
	if (hang>1) and (lie>1) then
	begin
		writeln('Corrupt');
		exit;
	end;

	if (hang=1) and (lie=1) then
	begin
		for i:=1 to n do
			if (a[i][0] mod 2) =1 then
			begin
				x:=i;
				break;
			end;
		for i:=1 to n do
			if (a[0][i] mod 2) =1 then
			begin
				y:=i;
				break;
			end;
		writeln('Change bit (',x,',',y,')');
		exit;
	end;
	if (hang=0) and (lie=0) then
		writeln('OK')
	else
		writeln('Corrupt');
end.
